package com.lieve.bpm.listener;

import com.fasterxml.jackson.databind.node.ObjectNode;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.activiti.engine.impl.pvm.delegate.ActivityExecution;
import org.activiti.engine.impl.task.TaskDefinition;

import java.util.List;
import java.util.Set;

/**
 * @author sunyoboy
 * 2021/5/28
 */
public class LieveUserTaskActivityBehavior extends UserTaskActivityBehavior {
    public LieveUserTaskActivityBehavior(String userTaskId, TaskDefinition taskDefinition) {
        super(userTaskId, taskDefinition);
    }

    @Override
    public void execute(ActivityExecution execution) throws Exception {
        super.execute(execution);
    }

    @Override
    public void signal(ActivityExecution execution, String signalName, Object signalData) throws Exception {
        super.signal(execution, signalName, signalData);
    }

    @Override
    protected void handleAssignments(Expression assigneeExpression, Expression ownerExpression, Set<Expression> candidateUserExpressions, Set<Expression> candidateGroupExpressions, TaskEntity task, ActivityExecution execution) {
        super.handleAssignments(assigneeExpression, ownerExpression, candidateUserExpressions, candidateGroupExpressions, task, execution);
    }

    @Override
    protected List<String> extractCandidates(String str) {
        return super.extractCandidates(str);
    }

    @Override
    protected Expression getActiveValue(Expression originalValue, String propertyName, ObjectNode taskElementProperties) {
        return super.getActiveValue(originalValue, propertyName, taskElementProperties);
    }

    @Override
    protected Set<Expression> getActiveValueSet(Set<Expression> originalValues, String propertyName, ObjectNode taskElementProperties) {
        return super.getActiveValueSet(originalValues, propertyName, taskElementProperties);
    }

    @Override
    public TaskDefinition getTaskDefinition() {
        return super.getTaskDefinition();
    }
}
